/**
 * Copyright &copy; 2012-2016 <a href="https://github.com/idenger">idenger</a> All rights reserved.
 */
package com.idenger.modules.project.entity.equipment;

import org.hibernate.validator.constraints.Length;
import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;

import com.idenger.common.persistence.DataEntity;

/**
 * 设备Entity
 * @author chenlin
 * @version 2018-04-11
 */
public class Equipment extends DataEntity<Equipment> {
	
	private static final long serialVersionUID = 1L;
	private String projectId;		// 项目ID
	private String equipmentName;		// 设备名称
	private String purchaseStatus;		// 设备购置情况
	private Date paidDate;		// 设备付款日期
	private Date arrivalDate;		// 设备到达日期
	private String equipmentLocation;		// 设备存放地点
	private String useDate;		// 投入使用日期
	private String totalUseTime;		// 使用总机时
	private String societyUseTime;		// 社会开放机时
	private String schoolUseTime;		// 校内使用机时
	private String remark;		// 备注
	private String sourceRemarks;		// 数据源备注
	private String deleteFlag;		// 删除标记
	
	public Equipment() {
		super();
	}

	public Equipment(String id){
		super(id);
	}

	@Length(min=0, max=64, message="项目ID长度必须介于 0 和 64 之间")
	public String getProjectId() {
		return projectId;
	}

	public void setProjectId(String projectId) {
		this.projectId = projectId;
	}
	
	@Length(min=0, max=64, message="设备名称长度必须介于 0 和 64 之间")
	public String getEquipmentName() {
		return equipmentName;
	}

	public void setEquipmentName(String equipmentName) {
		this.equipmentName = equipmentName;
	}
	
	@Length(min=0, max=64, message="设备购置情况长度必须介于 0 和 64 之间")
	public String getPurchaseStatus() {
		return purchaseStatus;
	}

	public void setPurchaseStatus(String purchaseStatus) {
		this.purchaseStatus = purchaseStatus;
	}
	
	@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
	public Date getPaidDate() {
		return paidDate;
	}

	public void setPaidDate(Date paidDate) {
		this.paidDate = paidDate;
	}
	
	@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
	public Date getArrivalDate() {
		return arrivalDate;
	}

	public void setArrivalDate(Date arrivalDate) {
		this.arrivalDate = arrivalDate;
	}
	
	@Length(min=0, max=64, message="设备存放地点长度必须介于 0 和 64 之间")
	public String getEquipmentLocation() {
		return equipmentLocation;
	}

	public void setEquipmentLocation(String equipmentLocation) {
		this.equipmentLocation = equipmentLocation;
	}
	
	@Length(min=0, max=64, message="投入使用日期长度必须介于 0 和 64 之间")
	public String getUseDate() {
		return useDate;
	}

	public void setUseDate(String useDate) {
		this.useDate = useDate;
	}
	
	@Length(min=0, max=64, message="使用总机时长度必须介于 0 和 64 之间")
	public String getTotalUseTime() {
		return totalUseTime;
	}

	public void setTotalUseTime(String totalUseTime) {
		this.totalUseTime = totalUseTime;
	}
	
	@Length(min=0, max=64, message="社会开放机时长度必须介于 0 和 64 之间")
	public String getSocietyUseTime() {
		return societyUseTime;
	}

	public void setSocietyUseTime(String societyUseTime) {
		this.societyUseTime = societyUseTime;
	}
	
	@Length(min=0, max=64, message="校内使用机时长度必须介于 0 和 64 之间")
	public String getSchoolUseTime() {
		return schoolUseTime;
	}

	public void setSchoolUseTime(String schoolUseTime) {
		this.schoolUseTime = schoolUseTime;
	}
	
	public String getRemark() {
		return remark;
	}

	public void setRemark(String remark) {
		this.remark = remark;
	}
	
	@Length(min=0, max=255, message="数据源备注长度必须介于 0 和 255 之间")
	public String getSourceRemarks() {
		return sourceRemarks;
	}

	public void setSourceRemarks(String sourceRemarks) {
		this.sourceRemarks = sourceRemarks;
	}
	
	@Length(min=0, max=1, message="删除标记长度必须介于 0 和 1 之间")
	public String getDeleteFlag() {
		return deleteFlag;
	}

	public void setDeleteFlag(String deleteFlag) {
		this.deleteFlag = deleteFlag;
	}
	
}